﻿/*--------------------------------------------------------------------\
|       _____ _                      __  __ _    _  _____ _    _      |
|      / ____| |                    |  \/  | |  | |/ ____| |  | |     |
|     | (___ | |__   __ _ _ __ _ __ | \  / | |  | | (___ | |__| |     |
|      \___ \| '_ \ / _` | '__| '_ \| |\/| | |  | |\___ \|  __  |     |
|      ____) | | | | (_| | |  | |_) | |  | | |__| |____) | |  | |     |
|     |_____/|_| |_|\__,_|_|  | .__/|_|  |_|\____/|_____/|_|  |_|     |
|                             | |                                     |
|                             |_| Copyright(C) Shawn Sagady 2010      |
|=-------------------------------------------------------------------=|
|   Please reference the CREDITS.TXT file for license and credits.    |
\--------------------------------------------------------------------*/

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SharpMUSH
{
    public class Object
    {
        public double ID
        {
            get
            {
                return ID;
            }
            set
            {
                if (ID == null)
                {
                    ID = value;
                }
            }
        }

        private List<Object> contents = new List<Object>();
        public List<Object> Contents { get { return contents; } }

        private List<Attribute> attributes = new List<Attribute>();
        public List<Attribute> Attributes { get { return attributes; } }

        public Object Location { get; set; }

        public Connection Socket { get; set; }

        public ObjectType OType { get; set; }

        public Powers Powers { get; set; }

        private List<Flag> flags = new List<Flag>();
        public List<Flag> Flags { get { return flags; } }


        public Object(double id)
        {
            ID = id;
        }
    }
}
